//@ ignore-cross-compile
//! This test checks rustc `-` (stdin) support

use std::path::PathBuf;

use run_make_support::{bin_name, rustc};

const HELLO_WORLD: &str = r#"
fn main() {
    println!("Hello world!");
}
"#;

const NOT_UTF8: &[u8] = &[0xff, 0xff, 0xff];

fn main() {
    // echo $HELLO_WORLD | rustc -
    rustc().arg("-").stdin_buf(HELLO_WORLD).run();
    assert!(PathBuf::from(bin_name("rust_out")).try_exists().unwrap());

    // echo $NOT_UTF8 | rustc -
    rustc().arg("-").stdin_buf(NOT_UTF8).run_fail().assert_stderr_contains(
        "error: couldn't read from stdin, as it did not contain valid UTF-8",
    );
}
